package com.atguigu.lease.web.admin.mapper;

import com.atguigu.lease.model.entity.*;
import com.atguigu.lease.web.admin.vo.attr.AttrValueVo;
import com.atguigu.lease.web.admin.vo.graph.GraphVo;
import com.atguigu.lease.web.admin.vo.room.RoomItemVo;
import com.atguigu.lease.web.admin.vo.room.RoomQueryVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * @author liubo
 * @description 针对表【room_info(房间信息表)】的数据库操作Mapper
 * @createDate 2023-07-24 15:48:00
 * @Entity com.atguigu.lease.model.RoomInfo
 */
public interface RoomInfoMapper extends BaseMapper<RoomInfo> {


    //     分页查询 房间的列表
    Page<RoomItemVo> selectRoomItemVoPage(Page<RoomItemVo> roomPage, RoomQueryVo queryVo);


    //      1、根据 房间 id 获取 对应的 公寓信息
    ApartmentInfo selectApartmentInfoByRoomId(Long id);

    //      2、查询 房间的 图片列表
    List<GraphVo> selectGraphListByRoomId(Long id);

    //      3、查询 房间的属性列表
    List<AttrValueVo> selectAttrValueListByRoomId(Long id);

    //      4、查询 配套信息列表
    List<FacilityInfo> selectFacilityInfoListByRoomId(Long id);

    //      5、查询 标签信息列表
    List<LabelInfo> selectLabelInfoListByRoomId(Long id);

    //      6、查询支付方式列表
    List<PaymentType> selectPaymentTypeByRoomId(Long id);

//          7、查询可选租期列表
    List<LeaseTerm> selectRoomLeaseTermByRoomId(Long id);
}




